﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using BGCOP.CAVTOP.BUSINESSLAYER;

namespace WCFLibraryNoha
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "INoHaVerifyCodeBar" in both code and config file together.
    [ServiceContract]
    public interface INoHaVerifyCodeBar
    {
        [OperationContract]
        string DoWork();

        /// <summary>
        /// Verifica el codigo de barras del vehiculo y returna un true or false para ello 
        /// La verificacion la hace en base a saber si el parqueadero esta vacio. Si el 
        /// parqueo esta ocupado retorna false y .....
        /// </summary>
        /// <param name="codigoBarrasVehiculo">lectura del codigo de barras del vehiculo</param>
        /// <returns></returns>
        [OperationContract]
        MessageDTO VerificaEntradaCodigoBarras(string codigoBarrasVehiculo);

        [OperationContract]
        MessageDTO VerificaEntradaCodigoBarras1(string codigoBarrasVehiculo, string RFID);

        /// <summary>
        /// Verifica la salida del vehiculo del parqueo
        /// para ello debe verificar si la persona dueña de la tarjeta y el vehiculo coinciden
        /// 
        /// </summary>
        /// <param name="codigoBarrasVehiculo"></param>
        /// <param name="RFID"></param>
        /// <returns></returns>
        [OperationContract]
        MessageDTO VerificaSalidaCodigoBarrasRFID(string codigoBarrasVehiculo, string RFID);

        [OperationContract]
        MessageDTO VerificaSalidaCodigoBarrasRFID1(string codigoBarrasVehiculo);

        [OperationContract]
        bool activaBarreraHandHeldMC75(string entrada);
    }
}
